﻿using Transformable_Engine_v2.Engine.GameObjects.Containers;

namespace Super_Management_Mayhem.Screens.Menu
{
    public abstract class BaseMenuScreen<T> : Container
    {
        public delegate void ChangeScreenHandler(int id, T nextScreen);

        public ChangeScreenHandler OnChangeScreen;

        public void ChangeScreen(int id, T nextScreen)
        {
            if(OnChangeScreen != null)
                OnChangeScreen(id, nextScreen);
        }

        public abstract void UpKey(int id);
        public abstract void DownKey(int id);
        public abstract void LeftKey(int id);
        public abstract void RightKey(int id);
        public abstract void AcceptKey(int id);
        public abstract void CancelKey(int id);
    }
}